<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Right extends CI_Model
{

    /**
     * 添加接口权限
     * @param $name
     * @param $index
     * @return bool|CI_DB_result
     */
    public function add($name, $index)
    {
        return $this->db->insert('rights', ['name' => $name, 'index' => $index]);
    }


    /**
     * 修改接口权限（名称、index）
     * @param $moduleId
     * @param $name
     * @param $index
     * @return bool|CI_DB_result
     */
    public function mod($moduleId, $name, $index)
    {
        return $this->db->where('id', $moduleId)->update('rights', ['name' => $name, 'index' => $index]);
    }


    /**
     * 删除接口权限
     * @param $rightId
     * @return bool
     */
    public function delete($rightId)
    {
        // 开启事务
        $this->db->trans_begin();

        // 删除接口
        $this->db->delete('rights', ['id' => $rightId]);

        // 删除功能模块接口
        $this->db->delete('moduleRights', ['rid' => $rightId]);

        // 事务提交
        if ($this->db->trans_status() === false) {
            $this->db->trans_rollback();
            return false;
        } else {
            $this->db->trans_commit();
            return true;
        }
    }
}